package laf.onto;

import jade.content.onto.BeanOntology;
import jade.content.onto.BeanOntologyException;
import laf.env.Attribute;
import laf.env.AttributeIdentifier;
import laf.env.AttributeValue;
import laf.env.EnvObject;
import laf.env.ObjectIdentifier;
import laf.env.Observation;
import laf.env.State;
import laf.lang.Describes;
import laf.lang.Symbol;

public class LAFOntology extends BeanOntology {
	
	private static final long serialVersionUID = -4283032667120265919L;
	public final static String NAME = "LAFOntology";
	private static LAFOntology instance = null;
	
	private LAFOntology() throws BeanOntologyException {
		super(NAME);
		
		add(ObjectIdentifier.class);
		add(EnvObject.class);
		add(AttributeIdentifier.class);
		add(Attribute.class);
		add(AttributeValue.class);
		add(State.class);
		add(Observation.class);
		
		add(Symbol.class);
		add(Describes.class);
	}
	
	public static LAFOntology getInstance() throws BeanOntologyException {
		if (instance == null) {
			instance = new LAFOntology();
		}
		return instance;
	}

}
